package com.songlanyun.modules.disabilityauth.entity;


import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.songlanyun.common.drive.RootEntity;
import com.songlanyun.common.enums.MemberConstant;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 残疾认证
 *
 * @author lubo
 * @email sunlightcs@gmail.com
 * @date 2022-07-19 14:47:49
 */
@Data
@TableName(value = "yxt_disability_auth", autoResultMap = true)
@Accessors(chain = false)
public class DisabilityAuthEntity extends RootEntity<Long,DisabilityAuthEntity> implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId
	private Long id;
	/**
	 * 用户id
	 */
	private Long userId;
	/**
	 * 真实性名
	 */
	private String realName;
	/**
	 * 身份证号
	 */
	private String idCard;
	/**
	 * 手机号
	 */
	private String mobile;
	/**
	 * 认证标签
	 */
	private MemberConstant.IscccLable iscccLable;
	/**
	 * 身份证正面
	 */
	private String idCardFront;
	/**
	 * 身份证背面
	 */
	private String idCardBack;
	/**
	 * 证明材料
	 */
	@TableField(typeHandler = JacksonTypeHandler.class)
	private JSONArray certificate;
	/**
	 * 申请时间
	 */
	private Date applyTime;
	/**
	 * 审核状态（0待审，1审核通过，2驳回）
	 */
	private MemberConstant.VerifyStatus status;
	/**
	 * 驳回理由
	 */
	private String reason;

	/**
	 * 审核人
	 */
	private String auditAdmin;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;
	/**
	 * 修改时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;
	/**
	 * 福利包id
	 */
	private Integer benefitsPackageId;


	/**
	 * 省名
	 */
	private String provinceName;
	/**
	 * 省编号
	 */
	private String provinceCode;
	/**
	 * 市名
	 */
	private String cityName;
	/**
	 * 市编号
	 */
	private String cityCode;
	/**
	 * 区名
	 */
	private String areaName;
	/**
	 * 区编号
	 */
	private String areaCode;


	public boolean isOk()
	{
		return MemberConstant.VerifyStatus.VERIFY_PASS.equals(this.getStatus());
	}


	@Override
	public Long getIdentity() {
		return getId();
	}
}
